package com.openlogic.common.plugins.db.api.utils;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import cn.hutool.core.lang.UUID;

/**
 * @ClassName: FileUploadUtils
 * @Description: 文件上传的工具类
 * @author weiyongpeng
 * @date 2024年11月26日 上午9:58:27
 */
public class FileUploadUtils {
	
	/**
	 * 得到filename文件名的后缀名
	 * @param filename 文件名 aasdsad.jpg asaa.gif
	 * @return
	 */
	public static String getFileSuffix(String filename) {
		if (filename == null || filename.isEmpty()) {
			throw new RuntimeException("文件名不能为空,filename:" + filename);
		}
		return filename.substring(filename.lastIndexOf("."));
	}

	/**
	 * 使用UUID生成一个唯一的字符串
	 * @return
	 */
	public static String randomFilename() {
		return UUID.randomUUID().toString().replaceAll("-", "");
	}

	/**
	 * 基于时间戳生成文件名
	 * @return
	 */
	public static String randomFilename2() {
		return System.currentTimeMillis() + "";
	}

	/**
	 * 基于时间戳 + UUID生成文件名
	 * @return
	 */
	public static String randomFilename3() {
		return System.currentTimeMillis() + randomFilename();
	}

	/**
	 * 创建目录
	 */
	public static void mkdir(String path) {
		File file = new File(path);
		if (!file.exists()) { // 不存在
			file.mkdirs();
		}
	}

	/**
	 * 基于当前时间创建文件名
	 */
	public static String getTimeFilename() {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyy-MM-dd-HH-mm-ss");
		Date date = new Date(System.currentTimeMillis());
		return simpleDateFormat.format(date) + "-" + randomFilename2();
	}
}
